package cn.jasonone.jame.basic;

import cn.hutool.core.util.IdUtil;
import lombok.NonNull;

/**
 * 唯一标识接口,使实现类具有唯一标识
 * @author Jason
 * @since 1.0.0
 */
public interface UniquelyIdentifies {
    /**
     * 设置唯一标识
     * @param id 唯一标识
     */
    void setId(@NonNull String id);

    /**
     * 获得唯一标识
     * @return 唯一标识
     */
    String getId();

    /**
     * 创建唯一标识
     * @return 唯一标识
     */
    default String createId(){
        return getClass()+"-"+IdUtil.fastUUID();
    }

}
